<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    短路运算
    <script>
        // 或逻辑 || , 左边或者右边只要其中一个为真, 都是为真
        // 十大于一,或者十大于一百万, 这两个条件有没有任何一个为真
        // 第一个就为真, 绝对为真,第二个会被忽略
        if (10 > 1 || 1 > 200) {
            console.log('判断为真');
        }
        // 与逻辑 &&, 左边和右边都同时为真, 才是真
        // 一大于十, 而且十大于二, 这两个条件同时满足吗?
        // 第一个就为假, 绝对为假, 第二个会被忽略
        if (1>10 && 10 > 2) {
            console.log('判断为真');
        }

        // 短路运算
        10 > 1 || console.log('这里不会执行');
        10 < 1 || console.log('这里被执行');
        10 > 1 && console.log('这里被执行');
        10 < 1 && console.log('这里不会执行');

        // 通常的作用, 是用来赋予默认值
        const studentList = [
            {
                name: '张三',
                age: 10
            },
            {
                name: '李四',
            },
            {
                name: '王五',
                age: 30
            }
        ]

        for(let i = 0; i < studentList.length; i++) {
            // 可以用短路运算来给一个默认值, 这里如果没有年龄我就给一个 18
            console.log(studentList[i].name, '今年已经', studentList[i].age || 18, '岁了');
        }

    </script>
</body>
</html>